import java.lang.Throwable;
import java.lang.Math;

public class Test9 {
    public static void main(String[] args) {
        Test9 t = new Test9();

        try {
            t.showArea(1,1,1);
        } catch(Exception e) {

        }
    }

    public static void showArea(int a, int b, int c) throws NewException {
        double p = (a + b + c) / 2.0;

        double ret = p * (p - a) * (p - b) * (p - c);

        if (ret <= 0) {
            throw new NewException();
        }

        double area = Math.sqrt(ret);

        System.out.println(area);
    }
}

class NewException extends Exception {
    public NewException() {
        System.out.println("无法构成三角形");
    }
}

//import java.lang.Throwable;
//import java.lang.Math;
//
//public class Test9 {
//    public static void main(String[] args) throws NewException {
//        int a = 1;
//        int b = 2;
//        int c = 3;
//
//        double p = (a + b + c) / 2.0;
//
//        double ret = p * (p - a) * (p - b) * (p - c);
//
//        if (ret <= 0) {
//            try {
//
//            } catch(Exception e) {
//
//            }
//        }
//
//        double area = Math.sqrt(ret);
//
//        System.out.println(area);
//
//    }
//
//    public static void showArea(int a, int b, int c) throws NewException {
//        double p = (a + b + c) / 2.0;
//
//        double ret = p * (p - a) * (p - b) * (p - c);
//
//        if (ret <= 0) {
//            throw new NewException();
//        }
//
//        double area = Math.sqrt(ret);
//
//        System.out.println(area);
//    }
//}
//
//class NewException extends Exception {
//    public NewException() {
//        System.out.println("无法构成三角形");
//    }
//}